package com.mmc.tianmu.im.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Component;

import com.mmc.tianmu.im.entity.ChatMessage;
import com.mmc.tianmu.im.util.RedisListenerBean;

/**
 * @author 作者 geDuo
 * @version 创建时间：2021年8月6日 下午4:35:39
 * @explain spring-websocket 定义了一个 SimpMessageSendingOperations
 *          接口（或者使用SimpMessagingTemplate
 *          ），可以实现自由的向任意目的地发送消息，并且订阅此目的地的所有用户都能收到消息。
 */
@Component
public class ChatService {
	private static final Logger LOGGER = LoggerFactory.getLogger(RedisListenerBean.class);

	@Autowired
	private SimpMessagingTemplate simpMessagingTemplate;

	public void sendMsg(@Payload ChatMessage chatMessage) {
		LOGGER.info("Send msg by simpMessageSendingOperations:" + chatMessage.toString());
		simpMessagingTemplate.convertAndSend("/topic/public", chatMessage);
	}
}
